<?php

namespace App\IndexConfigurators;

use ScoutElastic\IndexConfigurator;
use ScoutElastic\Migratable;

class ReportIndexConfigurator extends IndexConfigurator
{
    use Migratable;

    protected $name = 'huanbao_reports';

    protected $defaultMapping = [
        'properties' => [
            'id' => [
                'type' => 'long',
            ],
            'key' => [
                'type' => 'text',
            ],
            'tid' => [
                'type' => 'integer',
            ],
            'uid' => [
                'type' => 'integer',
            ],
            'technician_id' => [
                'type' => 'integer',
            ],
            'technician_name' => [
                'type' => 'text',
            ],
            'technician_short_name' => [
                'type' => 'text',
            ],
            'club_id' => [
                'type' => 'integer',
            ],
            'club_name' => [
                'type' => 'text',
            ],
            'club_short_name' => [
                'type' => 'text',
            ],
            'top_value' => [
                'type' => 'integer',
            ],
            'middle_value' => [
                'type' => 'integer',
            ],
            'bottom_value' => [
                'type' => 'integer',
            ],
            'figure_value' => [
                'type' => 'integer',
            ],
            'appearance_value' => [
                'type' => 'integer',
            ],
            'technique_value' => [
                'type' => 'integer',
            ],
            'attitude_value' => [
                'type' => 'integer',
            ],
            'top_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'middle_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'bottom_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'figure_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'appearance_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'technique_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'attitude_description' => [
                'type' => 'text',
                'analyzer' => 'ik_max_word',
                'search_analyzer' => 'ik_smart',
            ],
            'created_at' => [
                'type' => 'date',
                'format' => 'yyyy-MM-dd HH:mm:ss',
            ],
            'updated_at' => [
                'type' => 'date',
                'format' => 'yyyy-MM-dd HH:mm:ss',
            ],
            'deleted_at' => [
                'type' => 'date',
                'format' => 'yyyy-MM-dd HH:mm:ss',
            ],
            'action_date' => [
                'type' => 'date',
                'format' => 'yyyy-MM-dd',
            ],
            'action_time' => [
                'type' => 'date',
                'format' => 'HH:mm:ss',
            ],
            'technician_height' => [
                'type' => 'integer',
            ],
            'technician_birth_year' => [
                'type' => 'integer',
            ]

        ],
    ];

    /**
     * @var array
     */
    protected $settings = [

    ];
}